package org.dormi.learn;

import sun.net.spi.nameservice.dns.DNSNameService;

/**
 * ExtClassLoader 扩展 类加载器
 * ExtClassLoader 的 父类 是 URLClassLoader
 * @author : dormi330
 * @since : 22/04/21
 */
public class ClassLoaderDemo02 {
    public static void main(String[] args) {
        /*
         * ExtClassLoader
         * 加载 -Djava.ext.dirs 选项指定的目录
         * 如 $JRE_HOME\jre\ext
         *
         * 类加载器:
         * 如果某个类已被加载, 则再碰到此类就不再加载
         */
        System.out.println(DNSNameService.class.getClassLoader());
        // 这个类在 D:\portal\jdk1.8.0_181\jre\lib\ext\dnsns.jar里
        // sun.misc.Launcher$ExtClassLoader@6d6f6e28
        String paths = System.getProperty("java.ext.dirs");
        String[] arr = paths.split(";"); // windows ;  linux :
        for (String s : arr) {
            System.out.println(s);
        }
    }
}

/*
sun.misc.Launcher$ExtClassLoader@6d6f6e28
D:\portal\jdk1.8.0_181\jre\lib\ext
C:\WINDOWS\Sun\Java\lib\ext

如果配置 VM参数 -Djava.ext.dirs=xxx 则默认的D:\portal\jdk1.8.0_181\jre\lib\ext 等就不会加载了
*/
